/**
 * @fileoverview Dx.Class
 * Dx Class manager and helpers
 */

///////////////////////////////////////////////////////////////////////////////
// Class Helpers
///////////////////////////////////////////////////////////////////////////////

Dx.assign(Dx,

/** @lends Dx */ {

/**
 * Empty Function
 */
   emptyFn: function() {},

/**
 * instantiates an object without calling the constructor
 * @param {Function} fn Class constructor
 * @return {Object} instance of the fn Class
 */
   createObject: function(fn) {

      var empty = Dx.emptyFn;

      empty.prototype = fn.prototype;

      return new empty();

   },

/**
 * Creates standard Dx Class constructor
 * @return {Function} Dx Class constructor
 */
   createConstructor: function() {

      function Class() {

         var Class = arguments.callee;

         var instance = this;

         if (!(instance instanceof Class)) {

            instance = Dx.createObject(Class);

         }

         instance.construct.apply(instance, arguments);

         return instance;

      };

      return Class;

   },

   define: function(url, requires, exports) {

      


   }


});
